权限大致分为几类, root 用户, 标准用户 + sudo, 所有者, 所属用户组, 标准用户.
其中 普通用户 + sudo
就是提升用户的权限到 root
, 两者几乎相同. 用于系统的维护和管理,对系统所有资源具有访问权限. 因为直接使用 root
权限过大,甚至可以删除系统文件致使系统瘫痪,所以不推荐直接使用 root
, 而是使用 home 目录下的 标准用户 + sudo
的方式实现.
切换用户 su - [用户名]
, -
表示切换到 home 目录, 用户名默认 root
.
创建标准用户和用户组
1 | # 创建删除用户组 |
其中标准用户的 home 目录默认权限 755. root 用户的 /root
路径权限为 700.
查看当前用户, 所属组信息
组信息在 /etc/group
中, “行号 组名:密码位:组 id:组中的用户列表”
用户信息在 /etc/passwd
中, “行号 用户名:密码位:UID:GID:说明信息:home 目录位置:登录时使用的 shell 软件”,
其中 UID
0:超级用户, 1499:系统用户, 50065535:普通用户
使用命令 id
, who
, whoami
, w
快速查看
查看用户组, 附属组
用户默认组是和用户同名的组, 或者是通过初始化用户的时候 -g
指定的组, 每个用户 1 个.
用户的附属组默认是没有的, 是通过 -G
指定的组, 可以指定多个附属组.
1 | $ cat /etc/group | grep ops |
可以看到, 当前用户 ops 用户组为 ops:x:1000:
, 所在的附属组为 adm 和 docker. 其中 docker 组下还有 root 用户.
使用命令 id ops
查看用户 uid 和 gid, 以及 附属组信息
更改文件或文件夹的所属用户和所属用户组
1 | # 修改文件或文件夹的所属用户, 可以同时修改用户组 |
使用 -R
表示操作文件夹时级联操作
参考文档